using System;using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// Summary description for Rational
/// </summary>
public class Rational
{
private int _s;
public int Soorat
{
get { return _s; }
set { _s = value; }
}
private int _m;
public int Makhraj
{
get { return _m; }
set {
if (value != 0)
_m = value;
else
throw new Exception("Makhraj sefr nemishavad");
}
}
~Rational()
{
Rational.count--;
}
public void AddToMe(int soorat, int makhraj)
{
this.Soorat = this.Soorat * makhraj + this.Makhraj * soorat;
this.Makhraj = this.Makhraj * makhraj;
int b = bmm(this.Soorat, this.Makhraj);
this.Soorat = this.Soorat / b;
this.Makhraj /= b;
}
//توضیح داده شود
public void AddToMe(Rational r)
{
this.AddToMe(r.Soorat, r.Makhraj);
}
public void AddToMe(int soorat)
{
this.AddToMe(soorat, 1);
}
/// <summary>
/// این متد صورت و مخرج ورودی را می گیرد و آن را با همین کسر جمع می کند و بر می گرداند
/// </summary>
/// <param name="s">صورت کسر ورودی</param>
/// <param name="m">مخرج کسر ورودی</param>
/// <returns>حاصل جمع کسر ورودی با کسر جاری</returns>
public Rational Add(int s, int m)
{
Rational r;
r = new Rational();
r.AddToMe(this);
r.AddToMe(s, m);
return r;
}
public Rational Add(Rational r)
{
return this.Add(r.Soorat, r.Makhraj);
}
public Rational Add(int s)
{
return this.Add(s, 1);
}
public static Rational Adding(Rational r1, Rational r2)
{
Rational r;
r = r1.Add(r2);
return r;
}
این نمونه های فراخوانی کلاس از ابتدایی ترین تا سطح تقریبا پیشرفتشه:
بار اول اینطور نوشته شده بدون در نظر گرفتن کلاس:
[CSHARP]using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class add1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//problems
//پروژه های آینده
//اضافه شدن کد
//کدی که یک بار خطایابی شده، ازاین به بعد فقط استفاده
//خوانایی برنامه
int s3 = 5, m3 = 16;
s = s3 * m + s * m3;
m = m * m3;
//int s4 = 6, m4 = 13;
//s=s4+
Label1.Text = string.Format("{0}/{1}",s,m);
}
}
در دفعه بعدی یه مقدار پیشرفته تر:
using System;using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class frmaddRational : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int bmm(int i, int j)
{
int k=i%j;
if (k == 0)
return j;
else
return bmm(j, k);
}
}
در آخر از کلاس استفاده میکنه:
using System;using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class frmUSA : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Rational r1, r2, r3;
r1 = new Rational(2,5);
r2 = new Rational(2);
r3 = new Rational();
//r3 = r1.
r1.Soorat = 4;
try
{
r1.Makhraj = Convert.ToInt32(TextBox1.Text);
}
catch (Exception ex)
{
//Label1.Text = ex.Message;
Label1.Text = "numinator could not be zero. don't do that again or you'll be ticketed";
}
علاقه مندی ها (Bookmarks)